package io.xccit.race.domain;

import io.xccit.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 竞赛信息对象 race_competition
 * 
 * @author ywx
 * @date 2025-10-10
 */
public class RaceCompetition extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 竞赛ID */
    private Long id;
    
    /** 竞赛名称 */
    private String name;
    
    /** 竞赛描述 */
    private String description;
    
    /** 组别类型（1本科组 2专科组 3研究生组） */
    private Integer groupType;
    
    /** 竞赛状态（1可报名，2截止报名，3竞赛中，4已完赛） */
    private Integer competitionStatus;
    
    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date registrationStartTime;
    
    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date registrationEndTime;
    
    /** 竞赛开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date startTime;
    
    /** 竞赛结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date endTime;
    
    /** 备注 */
    private String remark;
    
    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public Long getId() { 
        return id; 
    }
    
    public void setId(Long id) { 
        this.id = id; 
    }

    public String getName() { 
        return name; 
    }
    
    public void setName(String name) { 
        this.name = name; 
    }

    public String getDescription() { 
        return description; 
    }
    
    public void setDescription(String description) { 
        this.description = description; 
    }

    public Integer getGroupType() { 
        return groupType; 
    }
    
    public void setGroupType(Integer groupType) { 
        this.groupType = groupType; 
    }

    public Integer getCompetitionStatus() { 
        return competitionStatus; 
    }
    
    public void setCompetitionStatus(Integer competitionStatus) { 
        this.competitionStatus = competitionStatus; 
    }

    public java.util.Date getRegistrationStartTime() { 
        return registrationStartTime; 
    }
    
    public void setRegistrationStartTime(java.util.Date registrationStartTime) { 
        this.registrationStartTime = registrationStartTime; 
    }

    public java.util.Date getRegistrationEndTime() { 
        return registrationEndTime; 
    }
    
    public void setRegistrationEndTime(java.util.Date registrationEndTime) { 
        this.registrationEndTime = registrationEndTime; 
    }

    public java.util.Date getStartTime() { 
        return startTime; 
    }
    
    public void setStartTime(java.util.Date startTime) { 
        this.startTime = startTime; 
    }

    public java.util.Date getEndTime() { 
        return endTime; 
    }
    
    public void setEndTime(java.util.Date endTime) { 
        this.endTime = endTime; 
    }

    public String getRemark() { 
        return remark; 
    }
    
    public void setRemark(String remark) { 
        this.remark = remark; 
    }

    public String getDelFlag() { 
        return delFlag; 
    }
    
    public void setDelFlag(String delFlag) { 
        this.delFlag = delFlag; 
    }
}


